1. Field of the Invention
This invention relates generally to a defect classification methodology in a semiconductor manufacturing testing system and more specifically, to an automatic defect classification methodology that stores information concerning individual defects and uses the stored information to provide new classification codes that are assigned to defects.
2. Discussion of the Related Art
In order to remain competitive, a semiconductor manufacturer must continuously increase the performance of the semiconductor integrated circuits being manufactured and at the same time, reduce the cost of the semiconductor integrated circuits. Part of the increase in performance and the reduction in cost of the semiconductor integrated circuits is accomplished by shrinking the device dimensions and by increasing the number of circuits per unit area on an integrated circuit chip. Another part of reducing the cost of a semiconductor chip is to increase the yield. As is known in the semiconductor manufacturing art, the yield of chips (also known as die) from each wafer is not 100% because of defects during the manufacturing process. The number of good chips obtained from a wafer determines the yield. As can be appreciated, chips that must be discarded because of a defect increases the cost of the remaining usable chips.
A single semiconductor chip can require numerous process steps such as oxidation, etching, metallization and wet chemical cleaning. Some of these process steps involve placing the wafer on which the semiconductor chips are being manufactured into different tools during the manufacturing process. The optimization of each of these process steps requires an understanding of a variety of chemical reactions and physical processes in order to produce high performance, high yield circuits. The ability to view and characterize the surface and interface layers of a semiconductor chip in terms of their morphology, chemical composition and distribution is an invaluable aid to those involved in research and development, process, problem solving, and failure analysis of integrated circuits. A major part of the analysis process is to determine if defects are caused by one of the process tools, and if so, which tool caused the defects.
As the wafer is placed into different tools during manufacture, each of the tools can produce different types of particles that drop onto the wafer and cause defects that have the potential to decrease the yield. In order to develop high yield semiconductor processes and to improve existing ones, it is important to identify the sources of the various particles that cause defects and then to prevent the tools from dropping these particles onto the wafer while the wafers are in the tools.
In order to be able to quickly resolve process or equipment issues in the manufacture of semiconductor products, a great deal of time, effort and money is being expended by semiconductor manufacturers to capture and classify silicon based defects. Once a defect is caught and properly described and classified, work can begin to resolve the cause of the defect and to eliminate the cause of the defect. The biggest problem facing the semiconductor manufacturers and the most difficult problem to solve, is the training and maintenance of a cadre of calibrated human inspectors who can classify all defects consistently and without error. Because of human inconsistency, Automatic Defect Classification (ADC) systems were developed.
One such system for automatically classifying defects consists of the following methodological sequence. Gather a defect image from a review station. View the defect image and assign values to elemental descriptor terms called predicates that are general descriptors such as roundness, brightness, color, hue, graininess, etc. Assign a classification code to the defect based upon the values of all the predicates. A typical ADC system can have 40 or more quantifiable qualities and properties that can be predicates. Each predicate can have a specified range of values and a typical predicate can have a value assigned to it between 1 and 256. A value of 1 indicates that none of the value is present and a value of 256 indicates that the quality represented by the predicate is ideal. For example, a straight line would have a value of 1 for the predicate indicating roundness, whereas a perfect circle would have a value of 256 for the same predicate. The classification code for each defect is determined by the system from the combination of all the predicate values assigned to the defect. The goal of the ADC system is to be able to uniquely describe all the defect types, in such a manner that a single classification code can be assigned to a defect which has been differentiated from all other defect types. This is accomplished by a system administrator who trains an artificial intelligence system to recognize various combinations and permutations of the 40 or more predicates to assign the same classification code to the same type of defect. This would result in a highly significant statistical confidence in the probability that the defect, and all other defects of the same type or class, will always be assigned the same classification code by the ADC system. This is done by performing a "best-fit" calculation against all assigned classification codes. If the fit is not good enough, the system will assign an "unknown" code, which means the system needs further training for that device/layer/defect. Once the classification code for a particular defect is determined and assigned the predicate values that pertain to that defect and which were used to determine the classification code are not saved. The only value saved in the database is the classification code and, is some cases, the image of the defect. Because there the predicate values are not saved, there is no method available to automatically correct or reclassify defects once they have been stored in the database. At the present, the classifications would have to be edited manually by reviewing each and every defect for which an image was retained (those with no stored image could not be corrected) and assigning the proper value. Alternatively, the wafer would have to be reloaded and the Automatic Defect Classification procedure repeated. This procedure would be appropriate only for the defects at the current process layer for that wafer. This limitation causes known erroneous data to be retained in the database which may then be used by other process/yield models or simulators to predict information such as yield or wafer starts needed.
However, if the classification code needs to be modified to further differentiate between defects, none of the existing defects can be reclassified because none of the information necessary to determine new classification codes is available.
Therefore, what is needed is a system in which the information is stored and which reviews all defects in the database using the stored information and reclassifies the defects to the new classification codes.